﻿/*
创建人：zhangrj
日期：2022-06-29
描述：流水卡报工页面js
*/
var page = {
    url: getRootPath() + "/Ashx/ContainerStepWorkReportHandler.ashx", //后台处理url,
    //设备分页参数
    pageTotal: 0,
    pageSize: 10,
    pageNumber: 1,
    init: function () {
        page.bind();
    },
    //绑定事件
    bind: function () {
        customizedEasyuiPagination('pp'); //定制化分页
        //设备列表加载
        $("#gdContainerInfo").datagrid({
            onLoadSuccess: function (data) {
                $('#pp').pagination('refresh', {	// 改变选项，并刷新分页栏信息
                    total: page.pageTotal,
                    pageSize: page.pageSize,
                    pageNumber: page.pageNumber
                });
                customizedEasyuiPagination('pp'); //定制化分页
            },
            columns: [[
                 { field: 'ck', title: '选择', checkbox: true },
                 { field: 'MFGORDERNAME', title: '订单号', width: 140 },
                 { field: 'CONTAINERNAME', title: '流水卡', width: 180 },
                 { field: 'WORKFLOWSTEPNAME', title: '当前工序', width: 180 },
                 { field: 'QTY', title: '在制总数', hidden: true },
                 { field: 'CONTAINERID', hidden: true }
                ]],
            onSelect: function (rowIndex, rowData) {
                page.clearPage(false, false, true, true);
                page.fillData(rowData);
            }
        });
        //设备列表分页事件
        $('#pp').pagination({
            onSelectPage: function (pageNumber, pageSize) {
                customizedEasyuiPagination('pp'); //定制化分页
                page.pageSize = pageSize; page.pageNumber = pageNumber;
                page.search();
            }
        });
        $(document).ready(function () {
            //绑定分页go按钮
            $('#pageGo').on("click", function () {
                var pageNumber = $(this).parents('tr').find('.pagination-num').val();
                page.pageNumber = pageNumber;
                page.search();
            });
        });
        //查询信息
        $("#btnSearch").on("click", function () {
            page.pageNumber = 1;
            page.search();
        });
        //重置查询
        $("#btnReset").on("click", function () {
            page.clearPage(true, false, false, true);
        });
        $(document).ready(function () {
            //扫描批次事件
            $('#txtScanContainer').textbox({
                onChange: function (n, o) {
                    page.pageNumber = 1;
                    page.search();
                }
            });
        });
    },
    //清除页面（查询区域，列表区域，信息展示区域，是否清空消息）
    clearPage: function (query, list, info, msg) {
        if (query) {
            $("#txtScanContainer").textbox("setValue", ""); //扫面流水卡
            $("#txtContainerName").textbox("setValue", ""); //流水卡
        }
        if (list) {
            clearEasyuiDataGrid("gdContainerInfo"); //清空列表
        }
        if (info) {
            $("#divContainerInfo").html("");
        }
        if (msg) {
            clearMessage();
        }
    },
    //查询
    search: function () {
        page.clearPage(false, true, true, true);
        var formData = {
            action: "GetContainerStepReportList",
            pageSize: page.pageSize,
            pageIndex: page.pageNumber,
            scanContainer: $.trim($("#txtScanContainer").textbox("getValue")),
            containerName: $.trim($("#txtContainerName").textbox("getValue"))
        };
        page.post(page.url, formData, true, function (res) {
            if (!res.Result) {
                displayMessage(res.Message, res.Result);
                return;
            }
            page.pageTotal = res.RowCount;
            $("#gdContainerInfo").datagrid('loadData', { total: res.RowCount, rows: res.DBTable });
        });
    },
    //填充批次详细数据
    fillData: function (obj) {
        var formData = {
            action: "GetContainerDetailInfo",
            containerId: obj.CONTAINERID,
            productName: obj.PRODUCTNAME
        };
        page.post(page.url, formData, true, function (res) {
            if (!res.Result) {
                displayMessage(res.Message, res.Result);
                return;
            }
            $("#divContainerInfo").html(res.ReturnData);
            $.parser.parse("#divContainerInfo"); //局部刷新样式
            $("#divContainerInfo").find(".easyui-linkbutton").each(function () {//动态绑定报工按钮事件
                $(this).on("click", function () {
                    var stepId = $(this).attr("data-stepid"); //工序ID
                    var dispatchId = $(this).attr("data-disid"); //派工ID
                    if (isNullOrWhiteSpaceStr(stepId) || isNullOrWhiteSpaceStr(dispatchId)) {
                        displayMessage("数据有误", false);
                        return;
                    }
                    //备注
                    var notes = $(this).parent().next().next().find(".easyui-textbox").textbox("getValue");
                    obj.WorkflowStepId = stepId;
                    obj.ContainerStepDispatchID = dispatchId;
                    obj.WorkNotes = $.trim(notes);
                    page.workReport(obj);
                });
            })
        });
    },
    //报工
    workReport: function (obj) {
        var paradt = [];
        paradt.push(obj);
        var formData = {
            action: "SaveStepWorkReport",
            paramDt: JSON.stringify(paradt)
        };
        page.post(page.url, formData, true, function (res) {
            displayMessage(res.Message, res.Result);
            page.clearPage(false, false, true, false);
            if (res.Result) {
                page.fillData(obj);
            }
        });
    },
    //post数据（路径，参数，是否异步，成功返回方法）
    post: function (url, param, async, callback) {
        $.ajax({
            type: "Post",
            url: url,
            data: param,
            cashe: false,
            async: async,
            dataType: "json",
            beforeSend: function () {
                $.messager.progress({ text: '', msg: '处理中...' });
            },
            success: function (data) {
                $.messager.progress('close');
                callback(data);
            },
            error: function (XMLHttpRequest, textStatus, errorThrown) {
                $.messager.progress('close');
                displayMessage(XMLHttpRequest.responseText, false);
                $("body").find(".easyui-linkbutton").each(function () {
                    $(this).linkbutton('enable');
                });
            }
        });
    }
}
page.init();